Administrators are often tasked with provisioning applications to be associated with storage devices, such as one or more storage servers, and specifically volumes on the storage devices. The applications can utilize a provisioned volume to service client requests, such as by storing data on, and/or retrieving data from, the provisioned volume. The interactions or load pattern of an application with a provisioned volume over a period of time can be referred to as a workload. Accordingly, workloads have associated characteristics, such as the percentage of operations during a period of time that are read or write operations or that are random or sequential operations, for example, although many other characteristics can be used as part of a workload analysis.
In storage networks, many storage devices with different characteristics (e.g., cache size, number of spindles, and/or layout) and associated volumes may be present and available to be provisioned for many applications. However, administrators are not able to effectively determine what performance impact provisioning a new workload, migrating an existing workload, or increasing the intensity (e.g., resulting from an increase in the number of users assigned to a specific application instance) may have, rendering provisioning decisions difficult. For example, administrators may be unable to know whether increasing the intensity of an existing workload will maintain compliance with an established service level objective (SLO). Additionally, administrators are unable to determine the headroom or maximum input/output operations per second (IOPS) that can be pushed until only latency is increased without any increase in operations.